//index.js
//获取应用实例
const app = getApp()
var baseUrl = 'http://luyiran.com/api/v1/';

Page({
  data: {
    motto: 'Hello World',
    userInfo: {},
    hasUserInfo: false,
    //canIUse: wx.canIUse('button.open-type.getUserInfo')
  },

  // onLoad: function () {
  //   if (app.globalData.userInfo) {
  //     this.setData({
  //       userInfo: app.globalData.userInfo,
  //       hasUserInfo: true
  //     })
  //   } else if (this.data.canIUse){
  //     // 由于 getUserInfo 是网络请求，可能会在 Page.onLoad 之后才返回
  //     // 所以此处加入 callback 以防止这种情况
  //     app.userInfoReadyCallback = res => {
  //       this.setData({
  //         userInfo: res.userInfo,
  //         hasUserInfo: true
  //       })
  //     }
  //   } else {
  //     // 在没有 open-type=getUserInfo 版本的兼容处理
  //     wx.getUserInfo({
  //       success: res => {
  //         app.globalData.userInfo = res.userInfo
  //         this.setData({
  //           userInfo: res.userInfo,
  //           hasUserInfo: true
  //         })
  //       }
  //     })
  //   }
  // },

  getUserInfo: function(e) {
    console.log(e)
    app.globalData.userInfo = e.detail.userInfo
    this.setData({
      userInfo: e.detail.userInfo,
      hasUserInfo: true
    })
  },

  //获取openid 将生成的令牌返回到小程序端，报错到缓存中
  ClaimToken:function(){
    wx.login({
      success: function (res) {
        console.log('code:',res.code);
        if (res.code) {
          //发起网络请求
          wx.request({
            url: baseUrl + 'token',
            data: {
              code: res.code
            },
            method:'POST',
            success:function(res){
              console.log('获取成功：',res.data.token);
              wx.setStorageSync('token', res.data.token);
            },
            fail:function(res){
              console.log('获取失败：',res)
            }
          })
        } else {
          console.log('登录失败！' + res.errMsg)
        }
      }
    });
  },

  //获取缓存中的token
  getToken:function(){
    var getToken = wx.getStorageSync('token');
    console.log('getToken:',getToken);
  },
  
  //生成订单
  setOrder:function(){
    var that = this;
    var token = wx.getStorageSync('token');
    console.log(token);
    console.log('url:',baseUrl + 'order');
    //ajax请求
    wx.request({
      url: baseUrl + 'order', //仅为示例，并非真实的接口地址
      header: {
        'token':token // 默认值
      },
      data: {
       products:[
          { product_id: 4, count: 2},
          { product_id: 5,count: 1 }
         ]
      },
      method:'post',
      success: function (res) {
        console.log('生成订单:',res.data.order_id);
        if(!res.data.pass){
           console.log('创建订单失败');
        }
        wx.setStorageSync('order_id', res.data.order_id);
        that.getPreOrder(token,res.data.order_id);
      }
    })
  },
  //调取支付
  getPreOrder:function(token,orderId){
    wx.request({
      url: baseUrl + 'pay/pre_order', //仅为示例，并非真实的接口地址
      header: {
        'token': token // 默认值
      },
      data: {
         id: orderId
      },
      method: 'post',
      success: function (res) {
        console.log('调用预订单接口:', res);
      
        //调用小程序支付
        var timeStamp = res.data.timeStamp;
        var nonceStr = res.data.nonceStr;
        var packAge = res.data.package;
        var paySign = res.data.paySign;
        wx.requestPayment({
          'timeStamp': timeStamp + '',
          'nonceStr': nonceStr,
          'package': packAge,
          'signType': 'MD5',
          'paySign': paySign,
          'success': function (res) {
          },
          'fail': function (res) {
          }
        })
      }
    })
  }














})
